#include <stdio.h>
#include <iostream>
#include <unistd.h>
using namespace std;
#include <vector>

//创建十个子进程
int countNum = 10;

void SubProcess()
{
    while(true)
    {
        cout << "I am child process , pid : " << getpid() << " , "  << getppid() << endl;
        sleep(5);
    }
}

int main()
{
    vector<pid_t> allchild;
    for(int i = 0 ; i < countNum ; i++)
    {
        pid_t id = fork();//创建子进程
        if(id == 0)
        {
            //子进程
            SubProcess();
        }
        //父进程
       // else if(id > 0)
        //{
            allchild.push_back(id);
        //}
       // else{
       //     perror("fork");
       //     return 1;
       // }
    }

    cout << "我所有的孩子是：";
    for(pid_t e : allchild)
    {
        cout << e << " ";
    }
    cout << endl;
    sleep(10);
    while(true)
    {
        cout << "I am father process , pid : " << getpid() << " , "  << getppid() << endl;
        sleep(10);
    }

    return 0;
}
